﻿namespace ClassLibrary.BusinessLayer.BusinessObjects
{
    using System;

    [Serializable, ClassTable("ProjectClass", true)]
    public class ProjectClass : ParentTableClass
    {
        private DateTime dteCreateDate;
        private DateTime dteUpdatedDate;
        private string strCreatedBy;
        private string strDescription;
        private string strName;
        private string strOwnerGroupID;
        private string strProjectClass;
        private string strUpdatedBy;

        [ClassProperty(false, true, false, false, false, "ProjectClass", "@ProjectClass", ClassPropertyAttribute.DBTypes.Varchar)]
        public string _ProjectClass
        {
            get
            {
                return this.strProjectClass;
            }
            set
            {
                this.strProjectClass = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "CreateDate", "@CreateDate", ClassPropertyAttribute.DBTypes.DateTime)]
        public DateTime CreateDate
        {
            get
            {
                return this.dteCreateDate;
            }
            set
            {
                this.dteCreateDate = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "CreatedBy", "@CreatedBy", ClassPropertyAttribute.DBTypes.Varchar)]
        public string CreatedBy
        {
            get
            {
                return this.strCreatedBy;
            }
            set
            {
                this.strCreatedBy = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "Description", "@Description", ClassPropertyAttribute.DBTypes.Varchar)]
        public string Description
        {
            get
            {
                return this.strDescription;
            }
            set
            {
                this.strDescription = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "Name", "@Name", ClassPropertyAttribute.DBTypes.Varchar)]
        public string Name
        {
            get
            {
                return this.strName;
            }
            set
            {
                this.strName = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "OwnerGroupID", "@OwnerGroupID", ClassPropertyAttribute.DBTypes.Varchar)]
        public string OwnerGroupID
        {
            get
            {
                return this.strOwnerGroupID;
            }
            set
            {
                this.strOwnerGroupID = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "UpdatedBy", "@UpdatedBy", ClassPropertyAttribute.DBTypes.Varchar)]
        public string UpdatedBy
        {
            get
            {
                return this.strUpdatedBy;
            }
            set
            {
                this.strUpdatedBy = value;
            }
        }

        [ClassProperty(false, false, true, true, true, "UpdatedDate", "@UpdatedDate", ClassPropertyAttribute.DBTypes.DateTime)]
        public DateTime UpdatedDate
        {
            get
            {
                return this.dteUpdatedDate;
            }
            set
            {
                this.dteUpdatedDate = value;
            }
        }
    }
}

